/*
 * MovePattern.h
 *
 *  Created on: Mar 21, 2010
 *      Author: Daniel Crown
 */

#ifndef MOVEPATTERN_H_
#define MOVEPATTERN_H_

//#include "E:\Applications\minGW\include\c++\3.4.5\vector"
#include <vector>

using std::vector;

const int MAX_CHANGES = 10;

class MovePattern
{
public:

	MovePattern() {}
	virtual ~MovePattern() {Clear();}

	void Clear() {}
	void Create(vector<int> times, vector<unsigned short> bearings, vector<float> speeds, bool repeat = false, int timeRand = -1, int bearingRand = -1, int speedRand = -1);
	void Destroy() {}

	bool GetRepeat() {return repeat;}

	int GetChangeTime(int i);
	unsigned short GetChangeBearing(int i);
	float GetChangeSpeed(int i);

private:

	vector<int> times;
	vector<unsigned short> bearings;
	vector<float> speeds;

	int timeRand;
	int speedRand;
	int bearingRand;
	bool repeat;
};

#endif /* MOVEPATTERN_H_ */
